/*
 * MainWindow.h
 *
 *  Created on: Oct 25, 2012
 *      Author: johnny
 */

#ifndef MAINWINDOW_H_
#define MAINWINDOW_H_

// GUI includes
#include "BaseUI.h"
#include "WelcomeDialog.h"
#include "ConfigurationManagerDialog.h"
#include "AboutDialog.h"
#include "Errorlogdialog.h"
#include "MainWindowEventFilter.h"
#include "resources.h"

#include "../patterns/Observer.h"

#include <QLCDNumber>

namespace ui {

class MainWindow: public BaseUI, public patterns::Observer {
	Q_OBJECT

    MainWindowEventFilter *evtFilter;

    ErrorLogDialog *errLog;
    ConfigurationManagerDialog *cfgMgrDiag;

    QLCDNumber *lcdWarnings, *lcdErrors, *lcdAlerts;
public:
	MainWindow();
    ~MainWindow();

	bool setup();
    void update(patterns::Observable *, void *);

public slots:
	void onExit();
	void onAbout();
	void onCfgMgr();
    void onErrLog();
};

} /* namespace ui */
#endif /* MAINWINDOW_H_ */
